package pl.bizuteria.sklep.admin.client;

import com.allen_sauer.gwt.dnd.client.DragContext;
import com.allen_sauer.gwt.dnd.client.PickupDragController;
import com.allen_sauer.gwt.dnd.client.VetoDragException;
import com.allen_sauer.gwt.dnd.client.drop.SimpleDropController;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;

public class DragAndDropEntryPoint implements EntryPoint {

	@Override
	public void onModuleLoad() {

		RootPanel rootPanel = RootPanel.get();

		PickupDragController dragController = new PickupDragController(
				rootPanel, true);

		// Button button = new Button("Hello button");

		Image img = new Image(
				"http://code.google.com/webtoolkit/logo-185x175.png");

		Image img2 = new Image(
				"http://code.google.com/webtoolkit/logo-185x175.png");

		rootPanel.add(img);
		rootPanel.add(img2);

		FlowPanel absolutePanel = new FlowPanel();
		// chyba sie nie powinno ustawiac wielkosci na liczby ale raczej procenty itd
		// i chyba nie przez aplikacje? albo wlasnie panel przez aplikacje..
		absolutePanel.setPixelSize(300, 200);
		Label label = new Label("Simple label");
		absolutePanel.add(label);

		rootPanel.add(absolutePanel);

		SimpleDropController simpleDropController = new SimpleDropController(
				absolutePanel) {
			@Override
			public void onDrop(
					com.allen_sauer.gwt.dnd.client.DragContext context) {
				System.out.println("onDrop!!");
				Window.alert("dropped");
				super.onDrop(context);
			};
		};

		dragController.registerDropController(simpleDropController);

		dragController.makeDraggable(img);

	}

}
